package org.dbutils.dao;

import org.dbutils.entity.Staffs;

import java.util.List;
import java.util.Map;

/**
 * @author ZJL
 * @date 2025-02-27
 */
public interface HandlerDao {
    /**
     * 根据 id 查询 Staffs 对象 使用 Map 存储
     * @param id 查询 id
     * @return 返回的 Map
     */
    Map<String,Object> selectById(int id);

    /**
     * 查询所有 Staffs 用 Map 集合存储
     * @return 返回 Map 集合
     */
    List<Map<String,Object>> selectAll();

    /**
     * 根据 id 查询 Staffs 用 Staffs 实体存储
     * @param id 查询的 id
     * @return 返回 Staffs 对象
     */
    Staffs selectStaffById(int id);

    /**
     * 查询所有 Staffs 用 List 集合存储
     * @return 返回 List 集合
     */
    List<Staffs> selectAllStaff();

    /**
     * 根据 id 查询 Staffs 表中 name属性 用 String 返回
     * @param id 查询的 id
     * @return 返回 name 属性
     */
    String selectStaffNameById(int id);

    /**
     * 统计 Staffs 表的总记录数
     * @return 返回记录数
     */
    Long StaffsCount();

    /**
     * 查询 Staffs 所有的 name 属性 用 List<String> 返回
     * @return 返回所有的 name 属性
     */
    List<String> selectAllStaffName();


    /**
     * 根据 id 查询 Staffs 用对象数组返回
     * @param id 查询的 id
     * @return 返回对象数组
     */
    Object[] selectByStaffById(int id);

    /**
     * 查询所有 Staffs 用 List对象数组集合 存储
     * @return 返回 List对象数组集合
     */
    List<Object []> selectAllByStaff();
}
